package com.cmd.project.mapper;

import java.util.List;

import com.cmd.project.domain.StudentRegistration;
import org.apache.ibatis.annotations.Param;

/**
 * 学生报名信息Mapper接口
 *
 * @author cq
 * @date 2025-04-02
 */
public interface StudentRegistrationMapper {
    /**
     * 查询学生报名信息
     *
     * @param id 学生报名信息主键
     * @return 学生报名信息
     */
    public StudentRegistration selectStudentRegistrationById(Long id);

    /**
     * 查询学生报名信息列表
     *
     * @param studentRegistration 学生报名信息
     * @return 学生报名信息集合
     */
    public List<StudentRegistration> selectStudentRegistrationList(StudentRegistration studentRegistration);

    /**
     * 根据身份证、参赛组别和参赛编号查询学生报名信息
     *
     * @param idNumber 身份证号码
     * @param competitionGroup 参赛组别
     * @param competitionNumber 参赛编号
     * @return 学生报名信息
     */
    public StudentRegistration selectStudentRegistrationByIdNumberAndGroupAndNumber(@Param("idNumber")String idNumber,
                                                                                    @Param("competitionGroup")String competitionGroup,
                                                                                    @Param("competitionNumber")String competitionNumber);

    /**
     * 新增学生报名信息
     *
     * @param studentRegistration 学生报名信息
     * @return 结果
     */
    public int insertStudentRegistration(StudentRegistration studentRegistration);

    /**
     * 修改学生报名信息
     *
     * @param studentRegistration 学生报名信息
     * @return 结果
     */
    public int updateStudentRegistration(StudentRegistration studentRegistration);

    /**
     * 删除学生报名信息
     *
     * @param id 学生报名信息主键
     * @return 结果
     */
    public int deleteStudentRegistrationById(Long id);

    /**
     * 批量删除学生报名信息
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteStudentRegistrationByIds(Long[] ids);
}